A really fun 21990 feature, originally hacked by Krijy.  This table sets up the button codes used to access cheats in-game, the text displayed for the cheats in the cheat menu, and whether text is displayed when a button code is entered.  They correspond to the selectable cheat list generated at 80069650, the cheats selected list at 800696A0, and the data following that address are used for constructing the screen displayed.  

For a quick summary of how this works, each entry in the table corresponds to an available cheat.  Although you can change the order of each cheat, and doing so changes the cheat activated when the button code is used, it will NOT affect the cheat activated through the cheat menu.  So, in other words, there isn't much reason to shuffle the cheat numbers around.

What the table will let you do is assign a button code to a cheat, fiddle with the button code needed to activate the cheat, when each cheat can be triggered, and change any text displayed in the Cheat folder.

JAP	0x1EA6C
USA	0x1EA7C
PAL	0x1A80C

Format:
0x0	1	cheat to activate with code (don't change these)
0x1	1	0A if text should be displayed on button input.  (don't change either - tied to ASM)
0x2	2	filler
0x4	4	literal Ram pointer to button string (see below for conversion)
0x8	2	text digits - displayed in Cheat folder
0xA	5	filler
0xF	1	bitflags for usage (input times and how often applied)
	x1xx xxxx	constant: multi
	xx1x xxxx	constant: solo
	xxx1 xxxx	exclusively acts on player 1
	xxxx x1xx	at start: multi
	xxxx xx1x	at start: solo
	xxxx xxx1	usable on folder screens


Each button code is 0x14 in size.  Each button input is 2 bytes long and coresponds to the button input from the controller.  That makes 10 input slots per code.  Each uses a literal Ram pointer to target the string of buttons, but they can be anywhere in the file if need be.  Not all are assigned to usable cheats anyway, and some aren't assigned to anything at all!  Otherwise, it wouldn't be hard to limit the number.

conversions for pointer
JAP	-80020DD0
USA	-80020D90
PAL	-8001EC50
that will return an offset within the 21990 file.

The list of button input codes spans from:
JAP	0x1E690	0x1EA6C
USA	0x1E6A0	0x1EA7C
PAL	0x1A430	0x1A80C

The 2 byte button code masks are the same as usual:
1xxx xxxx xxxx xxxx	A button
x1xx xxxx xxxx xxxx	B button
xx1x xxxx xxxx xxxx	Z button
xxx1 xxxx xxxx xxxx	Start
xxxx 1xxx xxxx xxxx	D-up
xxxx x1xx xxxx xxxx	D-down
xxxx xx1x xxxx xxxx	D-left
xxxx xxx1 xxxx xxxx	D-right
xxxx xxxx xx1x xxxx	L button
xxxx xxxx xxx1 xxxx	R button
xxxx xxxx xxxx 1xxx	C-up
xxxx xxxx xxxx x1xx	C-down
xxxx xxxx xxxx xx1x	C-left
xxxx xxxx xxxx xxx1	C-right


List of cheats:
01	Extra Multiplayer Characters
02	Invincibility
03	All Guns
04	Maximum Ammo
05	-invalid-
06	-invalid-
07	Line Mode
08	Super 2x Health
09	Super 2x Armour
0A	Invisibility
0B	Infinite Ammo
0C	DK Mode
0D	Extra Weapons (Magnum, G.G., Gold/Silver PP7)
0E	Tiny Bond
0F	Paintball Mode
10	Super 10x Health
11	Magnum
12	Laser
13	Golden Gun
14	Silver PP7
15	Gold PP7
16	Invisibility [Multi]
17	No Radar [Multi]
18	Fast Mode
19	Debug Position Display (invalid on PAL)
1A	Fast Motion
1B	Slow Motion
1C	Enemy Rockets
1D	2x Rocket L.
1E	2x Grenade L.
1F	2x RC-P90
20	2x Throwing Knife
21	2x Hunting Knife
22	2x Laser
23	Unlock Paintball Mode
24	Unlock Invincible
25	Unlock DK Mode
26	Unlock 2x Grenade L.
27	Unlock 2x Rocket L.
28	Unlock Turbo Mode
29	Unlock No Radar [Multi]
2A	Unlock Tiny Bond
2B	Unlock 2x Throwing Knife
2C	Unlock Fast Animation
2D	Unlock Bond Invisible
2E	Unlock Enemy Rockets
2F	Unlock Slow Animation
30	Unlock Silver PP7
31	Unlock 2x Hunting Knife
32	Unlock Infinite Ammo
33	Unlock 2x RC-P90
34	Unlock Gold PP7
35	Unlock 2x Laser
36	Unlock All Guns
37	-invalid-
38	Unlock Facility
39	Unlock Runway
3A	Unlock Surface I
3B	Unlock Bunker I
3C	Unlock Silo
3D	Unlock Frigate
3E	Unlock Surface II
3F	Unlock Bunker II
40	Unlock Statue
41	Unlock Archives
42	Unlock Streets
43	Unlock Depot
44	Unlock Train
45	Unlock Jungle
46	Unlock Control
47	Unlock Caverns
48	Unlock Cradle
49	Unlock Aztec
4A	Unlock Egypt

-Zoinkity
